!function(t) {
    function e(n) {
        if (r[n])
            return r[n].exports;
        var o = r[n] = {
            exports: {},
            id: n,
            loaded: !1
        };
        return t[n].call(o.exports, o, o.exports, e),
            o.loaded = !0,
            o.exports
    }
    var r = {};
    return e.m = t,
        e.c = r,
        e.p = "//s3.pstatp.com/growth/fe_sdk/",
        e(0)
}([function(t, e, r) {
    t.exports = r(120)
}
    , , , , , , , , , function(t, e, r) {
        var n = r(10);
        t.exports = function(t) {
            return Object(n(t))
        }
    }
    , function(t, e) {
        t.exports = function(t) {
            if (void 0 == t)
                throw TypeError("Can't call method on  " + t);
            return t
        }
    }
    , function(t, e, r) {
        var n = r(12)
            , o = r(27);
        t.exports = Object.keys || function(t) {
            return n(t, o)
        }
    }
    , function(t, e, r) {
        var n = r(13)
            , o = r(14)
            , i = r(17)(!1)
            , s = r(21)("IE_PROTO");
        t.exports = function(t, e) {
            var r, u = o(t), a = 0, c = [];
            for (r in u)
                r != s && n(u, r) && c.push(r);
            for (; e.length > a; )
                n(u, r = e[a++]) && (~i(c, r) || c.push(r));
            return c
        }
    }
    , function(t, e) {
        var r = {}.hasOwnProperty;
        t.exports = function(t, e) {
            return r.call(t, e)
        }
    }
    , function(t, e, r) {
        var n = r(15)
            , o = r(10);
        t.exports = function(t) {
            return n(o(t))
        }
    }
    , function(t, e, r) {
        var n = r(16);
        t.exports = Object("z").propertyIsEnumerable(0) ? Object : function(t) {
            return "String" == n(t) ? t.split("") : Object(t)
        }
    }
    , function(t, e) {
        var r = {}.toString;
        t.exports = function(t) {
            return r.call(t).slice(8, -1)
        }
    }
    , function(t, e, r) {
        var n = r(14)
            , o = r(18)
            , i = r(20);
        t.exports = function(t) {
            return function(e, r, s) {
                var u, a = n(e), c = o(a.length), f = i(s, c);
                if (t && r != r) {
                    for (; c > f; )
                        if (u = a[f++],
                        u != u)
                            return !0
                } else
                    for (; c > f; f++)
                        if ((t || f in a) && a[f] === r)
                            return t || f || 0;
                return !t && -1
            }
        }
    }
    , function(t, e, r) {
        var n = r(19)
            , o = Math.min;
        t.exports = function(t) {
            return t > 0 ? o(n(t), 9007199254740991) : 0
        }
    }
    , function(t, e) {
        var r = Math.ceil
            , n = Math.floor;
        t.exports = function(t) {
            return isNaN(t = +t) ? 0 : (t > 0 ? n : r)(t)
        }
    }
    , function(t, e, r) {
        var n = r(19)
            , o = Math.max
            , i = Math.min;
        t.exports = function(t, e) {
            return t = n(t),
                t < 0 ? o(t + e, 0) : i(t, e)
        }
    }
    , function(t, e, r) {
        var n = r(22)("keys")
            , o = r(26);
        t.exports = function(t) {
            return n[t] || (n[t] = o(t))
        }
    }
    , function(t, e, r) {
        var n = r(23)
            , o = r(24)
            , i = "__core-js_shared__"
            , s = o[i] || (o[i] = {});
        (t.exports = function(t, e) {
                return s[t] || (s[t] = void 0 !== e ? e : {})
            }
        )("versions", []).push({
            version: n.version,
            mode: r(25) ? "pure" : "global",
            copyright: "© 2019 Denis Pushkarev (zloirock.ru)"
        })
    }
    , function(t, e) {
        var r = t.exports = {
            version: "2.6.3"
        };
        "number" == typeof __e && (__e = r)
    }
    , function(t, e) {
        var r = t.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();
        "number" == typeof __g && (__g = r)
    }
    , function(t, e) {
        t.exports = !0
    }
    , function(t, e) {
        var r = 0
            , n = Math.random();
        t.exports = function(t) {
            return "Symbol(".concat(void 0 === t ? "" : t, ")_", (++r + n).toString(36))
        }
    }
    , function(t, e) {
        t.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")
    }
    , , function(t, e, r) {
        var n = r(24)
            , o = r(23)
            , i = r(30)
            , s = r(32)
            , u = r(13)
            , a = "prototype"
            , c = function(t, e, r) {
            var f, l, h, p = t & c.F, d = t & c.G, y = t & c.S, v = t & c.P, m = t & c.B, b = t & c.W, w = d ? o : o[e] || (o[e] = {}), _ = w[a], g = d ? n : y ? n[e] : (n[e] || {})[a];
            d && (r = e);
            for (f in r)
                l = !p && g && void 0 !== g[f],
                l && u(w, f) || (h = l ? g[f] : r[f],
                    w[f] = d && "function" != typeof g[f] ? r[f] : m && l ? i(h, n) : b && g[f] == h ? function(t) {
                        var e = function(e, r, n) {
                            if (this instanceof t) {
                                switch (arguments.length) {
                                    case 0:
                                        return new t;
                                    case 1:
                                        return new t(e);
                                    case 2:
                                        return new t(e,r)
                                }
                                return new t(e,r,n)
                            }
                            return t.apply(this, arguments)
                        };
                        return e[a] = t[a],
                            e
                    }(h) : v && "function" == typeof h ? i(Function.call, h) : h,
                v && ((w.virtual || (w.virtual = {}))[f] = h,
                t & c.R && _ && !_[f] && s(_, f, h)))
        };
        c.F = 1,
            c.G = 2,
            c.S = 4,
            c.P = 8,
            c.B = 16,
            c.W = 32,
            c.U = 64,
            c.R = 128,
            t.exports = c
    }
    , function(t, e, r) {
        var n = r(31);
        t.exports = function(t, e, r) {
            if (n(t),
            void 0 === e)
                return t;
            switch (r) {
                case 1:
                    return function(r) {
                        return t.call(e, r)
                    }
                        ;
                case 2:
                    return function(r, n) {
                        return t.call(e, r, n)
                    }
                        ;
                case 3:
                    return function(r, n, o) {
                        return t.call(e, r, n, o)
                    }
            }
            return function() {
                return t.apply(e, arguments)
            }
        }
    }
    , function(t, e) {
        t.exports = function(t) {
            if ("function" != typeof t)
                throw TypeError(t + " is not a function!");
            return t
        }
    }
    , function(t, e, r) {
        var n = r(33)
            , o = r(41);
        t.exports = r(37) ? function(t, e, r) {
                return n.f(t, e, o(1, r))
            }
            : function(t, e, r) {
                return t[e] = r,
                    t
            }
    }
    , function(t, e, r) {
        var n = r(34)
            , o = r(36)
            , i = r(40)
            , s = Object.defineProperty;
        e.f = r(37) ? Object.defineProperty : function(t, e, r) {
            if (n(t),
                e = i(e, !0),
                n(r),
                o)
                try {
                    return s(t, e, r)
                } catch (t) {}
            if ("get"in r || "set"in r)
                throw TypeError("Accessors not supported!");
            return "value"in r && (t[e] = r.value),
                t
        }
    }
    , function(t, e, r) {
        var n = r(35);
        t.exports = function(t) {
            if (!n(t))
                throw TypeError(t + " is not an object!");
            return t
        }
    }
    , function(t, e) {
        t.exports = function(t) {
            return "object" == typeof t ? null !== t : "function" == typeof t
        }
    }
    , function(t, e, r) {
        t.exports = !r(37) && !r(38)(function() {
            return 7 != Object.defineProperty(r(39)("div"), "a", {
                get: function() {
                    return 7
                }
            }).a
        })
    }
    , function(t, e, r) {
        t.exports = !r(38)(function() {
            return 7 != Object.defineProperty({}, "a", {
                get: function() {
                    return 7
                }
            }).a
        })
    }
    , function(t, e) {
        t.exports = function(t) {
            try {
                return !!t()
            } catch (t) {
                return !0
            }
        }
    }
    , function(t, e, r) {
        var n = r(35)
            , o = r(24).document
            , i = n(o) && n(o.createElement);
        t.exports = function(t) {
            return i ? o.createElement(t) : {}
        }
    }
    , function(t, e, r) {
        var n = r(35);
        t.exports = function(t, e) {
            if (!n(t))
                return t;
            var r, o;
            if (e && "function" == typeof (r = t.toString) && !n(o = r.call(t)))
                return o;
            if ("function" == typeof (r = t.valueOf) && !n(o = r.call(t)))
                return o;
            if (!e && "function" == typeof (r = t.toString) && !n(o = r.call(t)))
                return o;
            throw TypeError("Can't convert object to primitive value")
        }
    }
    , function(t, e) {
        t.exports = function(t, e) {
            return {
                enumerable: !(1 & t),
                configurable: !(2 & t),
                writable: !(4 & t),
                value: e
            }
        }
    }
    , function(t, e, r) {
        t.exports = {
            default: r(43),
            __esModule: !0
        }
    }
    , function(t, e, r) {
        var n = r(23)
            , o = n.JSON || (n.JSON = {
            stringify: JSON.stringify
        });
        t.exports = function(t) {
            return o.stringify.apply(o, arguments)
        }
    }
    , function(t, e, r) {
        t.exports = {
            default: r(45),
            __esModule: !0
        }
    }
    , function(t, e, r) {
        r(46),
            t.exports = r(23).Object.assign
    }
    , function(t, e, r) {
        var n = r(29);
        n(n.S + n.F, "Object", {
            assign: r(47)
        })
    }
    , function(t, e, r) {
        "use strict";
        var n = r(11)
            , o = r(48)
            , i = r(49)
            , s = r(9)
            , u = r(15)
            , a = Object.assign;
        t.exports = !a || r(38)(function() {
            var t = {}
                , e = {}
                , r = Symbol()
                , n = "abcdefghijklmnopqrst";
            return t[r] = 7,
                n.split("").forEach(function(t) {
                    e[t] = t
                }),
            7 != a({}, t)[r] || Object.keys(a({}, e)).join("") != n
        }) ? function(t, e) {
                for (var r = s(t), a = arguments.length, c = 1, f = o.f, l = i.f; a > c; )
                    for (var h, p = u(arguments[c++]), d = f ? n(p).concat(f(p)) : n(p), y = d.length, v = 0; y > v; )
                        l.call(p, h = d[v++]) && (r[h] = p[h]);
                return r
            }
            : a
    }
    , function(t, e) {
        e.f = Object.getOwnPropertySymbols
    }
    , function(t, e) {
        e.f = {}.propertyIsEnumerable
    }
    , , function(t, e, r) {
        t.exports = {
            default: r(52),
            __esModule: !0
        }
    }
    , function(t, e, r) {
        r(53);
        var n = r(23).Object;
        t.exports = function(t, e, r) {
            return n.defineProperty(t, e, r)
        }
    }
    , function(t, e, r) {
        var n = r(29);
        n(n.S + n.F * !r(37), "Object", {
            defineProperty: r(33).f
        })
    }
    , function(t, e) {
        !function(t) {
            "use strict";
            function e(t) {
                if ("string" != typeof t && (t = String(t)),
                    /[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(t))
                    throw new TypeError("Invalid character in header field name");
                return t.toLowerCase()
            }
            function r(t) {
                return "string" != typeof t && (t = String(t)),
                    t
            }
            function n(t) {
                var e = {
                    next: function() {
                        var e = t.shift();
                        return {
                            done: void 0 === e,
                            value: e
                        }
                    }
                };
                return m.iterable && (e[Symbol.iterator] = function() {
                        return e
                    }
                ),
                    e
            }
            function o(t) {
                this.map = {},
                    t instanceof o ? t.forEach(function(t, e) {
                        this.append(e, t)
                    }, this) : Array.isArray(t) ? t.forEach(function(t) {
                        this.append(t[0], t[1])
                    }, this) : t && Object.getOwnPropertyNames(t).forEach(function(e) {
                        this.append(e, t[e])
                    }, this)
            }
            function i(t) {
                return t.bodyUsed ? Promise.reject(new TypeError("Already read")) : void (t.bodyUsed = !0)
            }
            function s(t) {
                return new Promise(function(e, r) {
                        t.onload = function() {
                            e(t.result)
                        }
                            ,
                            t.onerror = function() {
                                r(t.error)
                            }
                    }
                )
            }
            function u(t) {
                var e = new FileReader
                    , r = s(e);
                return e.readAsArrayBuffer(t),
                    r
            }
            function a(t) {
                var e = new FileReader
                    , r = s(e);
                return e.readAsText(t),
                    r
            }
            function c(t) {
                for (var e = new Uint8Array(t), r = new Array(e.length), n = 0; n < e.length; n++)
                    r[n] = String.fromCharCode(e[n]);
                return r.join("")
            }
            function f(t) {
                if (t.slice)
                    return t.slice(0);
                var e = new Uint8Array(t.byteLength);
                return e.set(new Uint8Array(t)),
                    e.buffer
            }
            function l() {
                return this.bodyUsed = !1,
                    this._initBody = function(t) {
                        if (this._bodyInit = t,
                            t)
                            if ("string" == typeof t)
                                this._bodyText = t;
                            else if (m.blob && Blob.prototype.isPrototypeOf(t))
                                this._bodyBlob = t;
                            else if (m.formData && FormData.prototype.isPrototypeOf(t))
                                this._bodyFormData = t;
                            else if (m.searchParams && URLSearchParams.prototype.isPrototypeOf(t))
                                this._bodyText = t.toString();
                            else if (m.arrayBuffer && m.blob && w(t))
                                this._bodyArrayBuffer = f(t.buffer),
                                    this._bodyInit = new Blob([this._bodyArrayBuffer]);
                            else {
                                if (!m.arrayBuffer || !ArrayBuffer.prototype.isPrototypeOf(t) && !_(t))
                                    throw new Error("unsupported BodyInit type");
                                this._bodyArrayBuffer = f(t)
                            }
                        else
                            this._bodyText = "";
                        this.headers.get("content-type") || ("string" == typeof t ? this.headers.set("content-type", "text/plain;charset=UTF-8") : this._bodyBlob && this._bodyBlob.type ? this.headers.set("content-type", this._bodyBlob.type) : m.searchParams && URLSearchParams.prototype.isPrototypeOf(t) && this.headers.set("content-type", "application/x-www-form-urlencoded;charset=UTF-8"))
                    }
                    ,
                m.blob && (this.blob = function() {
                        var t = i(this);
                        if (t)
                            return t;
                        if (this._bodyBlob)
                            return Promise.resolve(this._bodyBlob);
                        if (this._bodyArrayBuffer)
                            return Promise.resolve(new Blob([this._bodyArrayBuffer]));
                        if (this._bodyFormData)
                            throw new Error("could not read FormData body as blob");
                        return Promise.resolve(new Blob([this._bodyText]))
                    }
                        ,
                        this.arrayBuffer = function() {
                            return this._bodyArrayBuffer ? i(this) || Promise.resolve(this._bodyArrayBuffer) : this.blob().then(u)
                        }
                ),
                    this.text = function() {
                        var t = i(this);
                        if (t)
                            return t;
                        if (this._bodyBlob)
                            return a(this._bodyBlob);
                        if (this._bodyArrayBuffer)
                            return Promise.resolve(c(this._bodyArrayBuffer));
                        if (this._bodyFormData)
                            throw new Error("could not read FormData body as text");
                        return Promise.resolve(this._bodyText)
                    }
                    ,
                m.formData && (this.formData = function() {
                        return this.text().then(d)
                    }
                ),
                    this.json = function() {
                        return this.text().then(JSON.parse)
                    }
                    ,
                    this
            }
            function h(t) {
                var e = t.toUpperCase();
                return g.indexOf(e) > -1 ? e : t
            }
            function p(t, e) {
                e = e || {};
                var r = e.body;
                if (t instanceof p) {
                    if (t.bodyUsed)
                        throw new TypeError("Already read");
                    this.url = t.url,
                        this.credentials = t.credentials,
                    e.headers || (this.headers = new o(t.headers)),
                        this.method = t.method,
                        this.mode = t.mode,
                    r || null == t._bodyInit || (r = t._bodyInit,
                        t.bodyUsed = !0)
                } else
                    this.url = String(t);
                if (this.credentials = e.credentials || this.credentials || "omit",
                !e.headers && this.headers || (this.headers = new o(e.headers)),
                    this.method = h(e.method || this.method || "GET"),
                    this.mode = e.mode || this.mode || null,
                    this.referrer = null,
                ("GET" === this.method || "HEAD" === this.method) && r)
                    throw new TypeError("Body not allowed for GET or HEAD requests");
                this._initBody(r)
            }
            function d(t) {
                var e = new FormData;
                return t.trim().split("&").forEach(function(t) {
                    if (t) {
                        var r = t.split("=")
                            , n = r.shift().replace(/\+/g, " ")
                            , o = r.join("=").replace(/\+/g, " ");
                        e.append(decodeURIComponent(n), decodeURIComponent(o))
                    }
                }),
                    e
            }
            function y(t) {
                var e = new o
                    , r = t.replace(/\r?\n[\t ]+/g, " ");
                return r.split(/\r?\n/).forEach(function(t) {
                    var r = t.split(":")
                        , n = r.shift().trim();
                    if (n) {
                        var o = r.join(":").trim();
                        e.append(n, o)
                    }
                }),
                    e
            }
            function v(t, e) {
                e || (e = {}),
                    this.type = "default",
                    this.status = void 0 === e.status ? 200 : e.status,
                    this.ok = this.status >= 200 && this.status < 300,
                    this.statusText = "statusText"in e ? e.statusText : "OK",
                    this.headers = new o(e.headers),
                    this.url = e.url || "",
                    this._initBody(t)
            }
            if (!t.fetch) {
                var m = {
                    searchParams: "URLSearchParams"in t,
                    iterable: "Symbol"in t && "iterator"in Symbol,
                    blob: "FileReader"in t && "Blob"in t && function() {
                        try {
                            return new Blob,
                                !0
                        } catch (t) {
                            return !1
                        }
                    }(),
                    formData: "FormData"in t,
                    arrayBuffer: "ArrayBuffer"in t
                };
                if (m.arrayBuffer)
                    var b = ["[object Int8Array]", "[object Uint8Array]", "[object Uint8ClampedArray]", "[object Int16Array]", "[object Uint16Array]", "[object Int32Array]", "[object Uint32Array]", "[object Float32Array]", "[object Float64Array]"]
                        , w = function(t) {
                            return t && DataView.prototype.isPrototypeOf(t)
                        }
                        , _ = ArrayBuffer.isView || function(t) {
                            return t && b.indexOf(Object.prototype.toString.call(t)) > -1
                        }
                    ;
                o.prototype.append = function(t, n) {
                    t = e(t),
                        n = r(n);
                    var o = this.map[t];
                    this.map[t] = o ? o + "," + n : n
                }
                    ,
                    o.prototype.delete = function(t) {
                        delete this.map[e(t)]
                    }
                    ,
                    o.prototype.get = function(t) {
                        return t = e(t),
                            this.has(t) ? this.map[t] : null
                    }
                    ,
                    o.prototype.has = function(t) {
                        return this.map.hasOwnProperty(e(t))
                    }
                    ,
                    o.prototype.set = function(t, n) {
                        this.map[e(t)] = r(n)
                    }
                    ,
                    o.prototype.forEach = function(t, e) {
                        for (var r in this.map)
                            this.map.hasOwnProperty(r) && t.call(e, this.map[r], r, this)
                    }
                    ,
                    o.prototype.keys = function() {
                        var t = [];
                        return this.forEach(function(e, r) {
                            t.push(r)
                        }),
                            n(t)
                    }
                    ,
                    o.prototype.values = function() {
                        var t = [];
                        return this.forEach(function(e) {
                            t.push(e)
                        }),
                            n(t)
                    }
                    ,
                    o.prototype.entries = function() {
                        var t = [];
                        return this.forEach(function(e, r) {
                            t.push([r, e])
                        }),
                            n(t)
                    }
                    ,
                m.iterable && (o.prototype[Symbol.iterator] = o.prototype.entries);
                var g = ["DELETE", "GET", "HEAD", "OPTIONS", "POST", "PUT"];
                p.prototype.clone = function() {
                    return new p(this,{
                        body: this._bodyInit
                    })
                }
                    ,
                    l.call(p.prototype),
                    l.call(v.prototype),
                    v.prototype.clone = function() {
                        return new v(this._bodyInit,{
                            status: this.status,
                            statusText: this.statusText,
                            headers: new o(this.headers),
                            url: this.url
                        })
                    }
                    ,
                    v.error = function() {
                        var t = new v(null,{
                            status: 0,
                            statusText: ""
                        });
                        return t.type = "error",
                            t
                    }
                ;
                var x = [301, 302, 303, 307, 308];
                v.redirect = function(t, e) {
                    if (x.indexOf(e) === -1)
                        throw new RangeError("Invalid status code");
                    return new v(null,{
                        status: e,
                        headers: {
                            location: t
                        }
                    })
                }
                    ,
                    t.Headers = o,
                    t.Request = p,
                    t.Response = v,
                    t.fetch = function(t, e) {
                        return new Promise(function(r, n) {
                                var o = new p(t,e)
                                    , i = new XMLHttpRequest;
                                i.onload = function() {
                                    var t = {
                                        status: i.status,
                                        statusText: i.statusText,
                                        headers: y(i.getAllResponseHeaders() || "")
                                    };
                                    t.url = "responseURL"in i ? i.responseURL : t.headers.get("X-Request-URL");
                                    var e = "response"in i ? i.response : i.responseText;
                                    r(new v(e,t))
                                }
                                    ,
                                    i.onerror = function() {
                                        n(new TypeError("Network request failed"))
                                    }
                                    ,
                                    i.ontimeout = function() {
                                        n(new TypeError("Network request failed"))
                                    }
                                    ,
                                    i.open(o.method, o.url, !0),
                                    "include" === o.credentials ? i.withCredentials = !0 : "omit" === o.credentials && (i.withCredentials = !1),
                                "responseType"in i && m.blob && (i.responseType = "blob"),
                                    o.headers.forEach(function(t, e) {
                                        i.setRequestHeader(e, t)
                                    }),
                                    i.send("undefined" == typeof o._bodyInit ? null : o._bodyInit)
                            }
                        )
                    }
                    ,
                    t.fetch.polyfill = !0
            }
        }("undefined" != typeof self ? self : this)
    }
    , , function(t, e) {
        "use strict";
        var r = navigator.userAgent
            , n = navigator.platform
            , o = {}
            , i = {}
            , s = r.match(/Web[kK]it[\/]{0,1}([\d.]+)/)
            , u = r.match(/(Android);?[\s\/]+([\d.]+)?/)
            , a = !!r.match(/\(Macintosh\; Intel /)
            , c = r.match(/(iPad).*OS\s([\d_]+)/)
            , f = r.match(/(iPod)(.*OS\s([\d_]+))?/)
            , l = !c && r.match(/(iPhone\sOS)\s([\d_]+)/)
            , h = r.match(/(webOS|hpwOS)[\s\/]([\d.]+)/)
            , p = /Win\d{2}|Windows/.test(n)
            , d = r.match(/Windows Phone ([\d.]+)/)
            , y = h && r.match(/TouchPad/)
            , v = r.match(/Kindle\/([\d.]+)/)
            , m = r.match(/Silk\/([\d._]+)/)
            , b = r.match(/(BlackBerry).*Version\/([\d.]+)/)
            , w = r.match(/(BB10).*Version\/([\d.]+)/)
            , _ = r.match(/(RIM\sTablet\sOS)\s([\d.]+)/)
            , g = r.match(/PlayBook/)
            , x = r.match(/Chrome\/([\d.]+)/) || r.match(/CriOS\/([\d.]+)/)
            , T = r.match(/Firefox\/([\d.]+)/)
            , S = r.match(/\((?:Mobile|Tablet); rv:([\d.]+)\).*Firefox\/[\d.]+/)
            , A = r.match(/MSIE\s([\d.]+)/) || r.match(/Trident\/[\d](?=[^\?]+).*rv:([0-9.].)/)
            , O = !x && r.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/)
            , E = O || r.match(/Version\/([\d.]+)([^S](Safari)|[^M]*(Mobile)[^S]*(Safari))/);
        (i.webkit = !!s) && (i.version = s[1]),
        u && (o.android = !0,
            o.version = u[2]),
        l && !f && (o.ios = o.iphone = !0,
            o.version = l[2].replace(/_/g, ".")),
        c && (o.ios = o.ipad = !0,
            o.version = c[2].replace(/_/g, ".")),
        f && (o.ios = o.ipod = !0,
            o.version = f[3] ? f[3].replace(/_/g, ".") : null),
        d && (o.wp = !0,
            o.version = d[1]),
        h && (o.webos = !0,
            o.version = h[2]),
        y && (o.touchpad = !0),
        b && (o.blackberry = !0,
            o.version = b[2]),
        w && (o.bb10 = !0,
            o.version = w[2]),
        _ && (o.rimtabletos = !0,
            o.version = _[2]),
        g && (i.playbook = !0),
        v && (o.kindle = !0,
            o.version = v[1]),
        m && (i.silk = !0,
            i.version = m[1]),
        !m && o.android && r.match(/Kindle Fire/) && (i.silk = !0),
        x && (i.chrome = !0,
            i.version = x[1]),
        T && (i.firefox = !0,
            i.version = T[1]),
        S && (o.firefoxos = !0,
            o.version = S[1]),
        A && (i.ie = !0,
            i.version = A[1]),
        E && (a || o.ios || p) && (i.safari = !0,
        o.ios || (i.version = E[1])),
        O && (i.webview = !0),
            o.version = parseFloat(o.version),
            i.ucbrowser = !!r.match(/ucbrowser/gi),
            i.toutiao = "http://nativeapp.toutiao.com" == document.referrer || /(News|NewsSocial|Explore|NewsArticle|News_?Article)( |\/)(\d.\d.\d)/i.test(r),
            i.toutiaoSDK = /(ArticleStreamSdk)( |\/)(\d+)/i.test(r),
            i.qqbrowser = !!r.match(/qqbrowser/gi),
            i.weixin = /MicroMessenger/i.test(r),
            i.caijing = /CaijingStock/i.test(r),
            i.dongchedi = /automobile/i.test(r),
            i.xigua = /VideoArticle/i.test(r),
            o.tablet = !!(c || g || u && !r.match(/Mobile/) || T && r.match(/Tablet/) || A && !r.match(/Phone/) && r.match(/Touch/)),
            o.phone = !(o.tablet || o.ipod || !(u || l || h || b || w || x && r.match(/Android/) || x && r.match(/CriOS\/([\d.]+)/) || T && r.match(/Mobile/) || A && r.match(/Touch/))),
            t.exports = {
                os: o,
                browser: i
            }
    }
    , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function(t, e, r) {
        "use strict";
        function n(t) {
            return t && t.__esModule ? t : {
                default: t
            }
        }
        var o = r(42)
            , i = n(o)
            , s = r(44)
            , u = n(s)
            , a = r(121)
            , c = n(a)
            , f = r(122)
            , l = n(f);
        !function(t) {
            r(54),
                r(123).polyfill();
            var e = r(56)
                , n = function() {
                return Math.floor(Date.now() / 1e3)
            }
                , o = function() {
                function t(t, e, r) {
                    function i() {
                        e(o),
                            n = null,
                            o = []
                    }
                    r = r || 0,
                        t(o),
                    n || (n = setTimeout(i, r))
                }
                function e() {
                    return {
                        debounce: t
                    }
                }
                var r, n, o = [];
                return {
                    getInstance: function() {
                        return r || (r = e()),
                            r
                    }
                }
            }()
                , s = function() {
                var t = void 0;
                return function(e) {
                    return e && (t = e),
                        t
                }
            }()
                , a = function() {
                return e.os.ios ? "ios" : e.os.android ? "android" : "unknown"
            }()
                , f = function() {
                function t(r) {
                    if ((0,
                        c.default)(this, t),
                        s())
                        return s();
                    var n = {
                        os_name: a,
                        traffic_type: e.browser.weixin ? "weixin" : "wap"
                    };
                    this.protocol = r.protocol || location.protocol,
                        this.host = r.host || "m.toutiao.com",
                        this.header = (0,
                            u.default)({}, n, r.header),
                        this.user = r.user,
                        this.events = [],
                        s(this)
                }
                return (0,
                    l.default)(t, [{
                    key: "fetch",
                    value: function(t) {
                        function e(e) {
                            return t.apply(this, arguments)
                        }
                        return e.toString = function() {
                            return t.toString()
                        }
                            ,
                            e
                    }(function(t) {
                        return fetch(this.protocol + "//" + this.host + "/log/event/", {
                            method: "POST",
                            credentials: "include",
                            headers: {
                                "Content-Type": "application/json"
                            },
                            body: (0,
                                i.default)({
                                header: this.header,
                                user: this.user,
                                events: t
                            })
                        }).then(function(t) {
                            return t.json()
                        }, function(t) {
                            throw t
                        })
                    })
                }, {
                    key: "getParentRId",
                    value: function() {
                        var t = (new Date).getTime();
                        return t + Math.random().toString(36).substring(2, 6)
                    }
                }, {
                    key: "sendClickLog",
                    value: function(t) {
                        var e = {
                            event: "click",
                            time: n(),
                            params: t
                        };
                        return this.fetch([e])
                    }
                }, {
                    key: "sendImpressionLog",
                    value: function(t) {
                        function e(e) {
                            e.push({
                                event: "valid_impression",
                                time: n(),
                                params: t
                            })
                        }
                        function r(t) {
                            s.fetch(t)
                        }
                        var i = 1e3
                            , s = this
                            , u = o.getInstance().debounce;
                        u(e, r, i)
                    }
                }, {
                    key: "getExtraData",
                    value: function(t) {
                        return {
                            __type__: t.type,
                            header: this.header,
                            user: this.user,
                            events: [{
                                time: n(),
                                event: "activation",
                                params: t.params
                            }]
                        }
                    }
                }, {
                    key: "getGDEXTJSON",
                    value: function(t) {
                        return {
                            __type__: "wap",
                            position: t.code_id,
                            parent_group_id: this.header.parent_group_id,
                            iid: this.header.share_iid,
                            webid: this.user.user_id,
                            wxshare_count: this.header.wx_share_count,
                            gd_label: "click_" + (e.browser.weixin ? "weixin" : "wap")
                        }
                    }
                }]),
                    t
            }();
            t.ReportSdk = f
        }(window)
    }
    , function(t, e) {
        "use strict";
        e.__esModule = !0,
            e.default = function(t, e) {
                if (!(t instanceof e))
                    throw new TypeError("Cannot call a class as a function")
            }
    }
    , function(t, e, r) {
        "use strict";
        function n(t) {
            return t && t.__esModule ? t : {
                default: t
            }
        }
        e.__esModule = !0;
        var o = r(51)
            , i = n(o);
        e.default = function() {
            function t(t, e) {
                for (var r = 0; r < e.length; r++) {
                    var n = e[r];
                    n.enumerable = n.enumerable || !1,
                        n.configurable = !0,
                    "value"in n && (n.writable = !0),
                        (0,
                            i.default)(t, n.key, n)
                }
            }
            return function(e, r, n) {
                return r && t(e.prototype, r),
                n && t(e, n),
                    e
            }
        }()
    }
    , function(t, e, r) {
        (function(e, r) {
                /*!
             * @overview es6-promise - a tiny implementation of Promises/A+.
             * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
             * @license   Licensed under MIT license
             *            See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
             * @version   v4.2.5+7f2b526d
             */
                !function(e, r) {
                    t.exports = r()
                }(this, function() {
                    "use strict";
                    function t(t) {
                        var e = typeof t;
                        return null !== t && ("object" === e || "function" === e)
                    }
                    function n(t) {
                        return "function" == typeof t
                    }
                    function o(t) {
                        K = t
                    }
                    function i(t) {
                        V = t
                    }
                    function s() {
                        return function() {
                            return e.nextTick(l)
                        }
                    }
                    function u() {
                        return "undefined" != typeof H ? function() {
                                H(l)
                            }
                            : f()
                    }
                    function a() {
                        var t = 0
                            , e = new X(l)
                            , r = document.createTextNode("");
                        return e.observe(r, {
                            characterData: !0
                        }),
                            function() {
                                r.data = t = ++t % 2
                            }
                    }
                    function c() {
                        var t = new MessageChannel;
                        return t.port1.onmessage = l,
                            function() {
                                return t.port2.postMessage(0)
                            }
                    }
                    function f() {
                        var t = setTimeout;
                        return function() {
                            return t(l, 1)
                        }
                    }
                    function l() {
                        for (var t = 0; t < G; t += 2) {
                            var e = Q[t]
                                , r = Q[t + 1];
                            e(r),
                                Q[t] = void 0,
                                Q[t + 1] = void 0
                        }
                        G = 0
                    }
                    function h() {
                        try {
                            var t = Function("return this")().require("vertx");
                            return H = t.runOnLoop || t.runOnContext,
                                u()
                        } catch (t) {
                            return f()
                        }
                    }
                    function p(t, e) {
                        var r = this
                            , n = new this.constructor(y);
                        void 0 === n[tt] && F(n);
                        var o = r._state;
                        if (o) {
                            var i = arguments[o - 1];
                            V(function() {
                                return B(o, n, i, r._result)
                            })
                        } else
                            E(r, n, t, e);
                        return n
                    }
                    function d(t) {
                        var e = this;
                        if (t && "object" == typeof t && t.constructor === e)
                            return t;
                        var r = new e(y);
                        return T(r, t),
                            r
                    }
                    function y() {}
                    function v() {
                        return new TypeError("You cannot resolve a promise with itself")
                    }
                    function m() {
                        return new TypeError("A promises callback cannot return that same promise.")
                    }
                    function b(t) {
                        try {
                            return t.then
                        } catch (t) {
                            return ot.error = t,
                                ot
                        }
                    }
                    function w(t, e, r, n) {
                        try {
                            t.call(e, r, n)
                        } catch (t) {
                            return t
                        }
                    }
                    function _(t, e, r) {
                        V(function(t) {
                            var n = !1
                                , o = w(r, e, function(r) {
                                n || (n = !0,
                                    e !== r ? T(t, r) : A(t, r))
                            }, function(e) {
                                n || (n = !0,
                                    O(t, e))
                            }, "Settle: " + (t._label || " unknown promise"));
                            !n && o && (n = !0,
                                O(t, o))
                        }, t)
                    }
                    function g(t, e) {
                        e._state === rt ? A(t, e._result) : e._state === nt ? O(t, e._result) : E(e, void 0, function(e) {
                            return T(t, e)
                        }, function(e) {
                            return O(t, e)
                        })
                    }
                    function x(t, e, r) {
                        e.constructor === t.constructor && r === p && e.constructor.resolve === d ? g(t, e) : r === ot ? (O(t, ot.error),
                            ot.error = null) : void 0 === r ? A(t, e) : n(r) ? _(t, e, r) : A(t, e)
                    }
                    function T(e, r) {
                        e === r ? O(e, v()) : t(r) ? x(e, r, b(r)) : A(e, r)
                    }
                    function S(t) {
                        t._onerror && t._onerror(t._result),
                            P(t)
                    }
                    function A(t, e) {
                        t._state === et && (t._result = e,
                            t._state = rt,
                        0 !== t._subscribers.length && V(P, t))
                    }
                    function O(t, e) {
                        t._state === et && (t._state = nt,
                            t._result = e,
                            V(S, t))
                    }
                    function E(t, e, r, n) {
                        var o = t._subscribers
                            , i = o.length;
                        t._onerror = null,
                            o[i] = e,
                            o[i + rt] = r,
                            o[i + nt] = n,
                        0 === i && t._state && V(P, t)
                    }
                    function P(t) {
                        var e = t._subscribers
                            , r = t._state;
                        if (0 !== e.length) {
                            for (var n = void 0, o = void 0, i = t._result, s = 0; s < e.length; s += 3)
                                n = e[s],
                                    o = e[s + r],
                                    n ? B(r, n, o, i) : o(i);
                            t._subscribers.length = 0
                        }
                    }
                    function j(t, e) {
                        try {
                            return t(e)
                        } catch (t) {
                            return ot.error = t,
                                ot
                        }
                    }
                    function B(t, e, r, o) {
                        var i = n(r)
                            , s = void 0
                            , u = void 0
                            , a = void 0
                            , c = void 0;
                        if (i) {
                            if (s = j(r, o),
                                s === ot ? (c = !0,
                                    u = s.error,
                                    s.error = null) : a = !0,
                            e === s)
                                return void O(e, m())
                        } else
                            s = o,
                                a = !0;
                        e._state !== et || (i && a ? T(e, s) : c ? O(e, u) : t === rt ? A(e, s) : t === nt && O(e, s))
                    }
                    function k(t, e) {
                        try {
                            e(function(e) {
                                T(t, e)
                            }, function(e) {
                                O(t, e)
                            })
                        } catch (e) {
                            O(t, e)
                        }
                    }
                    function M() {
                        return it++
                    }
                    function F(t) {
                        t[tt] = it++,
                            t._state = void 0,
                            t._result = void 0,
                            t._subscribers = []
                    }
                    function I() {
                        return new Error("Array Methods must be provided an Array")
                    }
                    function U(t) {
                        return new st(this,t).promise
                    }
                    function C(t) {
                        var e = this;
                        return new e(W(t) ? function(r, n) {
                                for (var o = t.length, i = 0; i < o; i++)
                                    e.resolve(t[i]).then(r, n)
                            }
                            : function(t, e) {
                                return e(new TypeError("You must pass an array to race."))
                            }
                        )
                    }
                    function D(t) {
                        var e = this
                            , r = new e(y);
                        return O(r, t),
                            r
                    }
                    function R() {
                        throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")
                    }
                    function L() {
                        throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")
                    }
                    function N() {
                        var t = void 0;
                        if ("undefined" != typeof r)
                            t = r;
                        else if ("undefined" != typeof self)
                            t = self;
                        else
                            try {
                                t = Function("return this")()
                            } catch (t) {
                                throw new Error("polyfill failed because global object is unavailable in this environment")
                            }
                        var e = t.Promise;
                        if (e) {
                            var n = null;
                            try {
                                n = Object.prototype.toString.call(e.resolve())
                            } catch (t) {}
                            if ("[object Promise]" === n && !e.cast)
                                return
                        }
                        t.Promise = ut
                    }
                    var q = void 0;
                    q = Array.isArray ? Array.isArray : function(t) {
                        return "[object Array]" === Object.prototype.toString.call(t)
                    }
                    ;
                    var W = q
                        , G = 0
                        , H = void 0
                        , K = void 0
                        , V = function(t, e) {
                        Q[G] = t,
                            Q[G + 1] = e,
                            G += 2,
                        2 === G && (K ? K(l) : Z())
                    }
                        , J = "undefined" != typeof window ? window : void 0
                        , z = J || {}
                        , X = z.MutationObserver || z.WebKitMutationObserver
                        , Y = "undefined" == typeof self && "undefined" != typeof e && "[object process]" === {}.toString.call(e)
                        , $ = "undefined" != typeof Uint8ClampedArray && "undefined" != typeof importScripts && "undefined" != typeof MessageChannel
                        , Q = new Array(1e3)
                        , Z = void 0;
                    Z = Y ? s() : X ? a() : $ ? c() : void 0 === J ? h() : f();
                    var tt = Math.random().toString(36).substring(2)
                        , et = void 0
                        , rt = 1
                        , nt = 2
                        , ot = {
                        error: null
                    }
                        , it = 0
                        , st = function() {
                        function t(t, e) {
                            this._instanceConstructor = t,
                                this.promise = new t(y),
                            this.promise[tt] || F(this.promise),
                                W(e) ? (this.length = e.length,
                                    this._remaining = e.length,
                                    this._result = new Array(this.length),
                                    0 === this.length ? A(this.promise, this._result) : (this.length = this.length || 0,
                                        this._enumerate(e),
                                    0 === this._remaining && A(this.promise, this._result))) : O(this.promise, I())
                        }
                        return t.prototype._enumerate = function(t) {
                            for (var e = 0; this._state === et && e < t.length; e++)
                                this._eachEntry(t[e], e)
                        }
                            ,
                            t.prototype._eachEntry = function(t, e) {
                                var r = this._instanceConstructor
                                    , n = r.resolve;
                                if (n === d) {
                                    var o = b(t);
                                    if (o === p && t._state !== et)
                                        this._settledAt(t._state, e, t._result);
                                    else if ("function" != typeof o)
                                        this._remaining--,
                                            this._result[e] = t;
                                    else if (r === ut) {
                                        var i = new r(y);
                                        x(i, t, o),
                                            this._willSettleAt(i, e)
                                    } else
                                        this._willSettleAt(new r(function(e) {
                                                return e(t)
                                            }
                                        ), e)
                                } else
                                    this._willSettleAt(n(t), e)
                            }
                            ,
                            t.prototype._settledAt = function(t, e, r) {
                                var n = this.promise;
                                n._state === et && (this._remaining--,
                                    t === nt ? O(n, r) : this._result[e] = r),
                                0 === this._remaining && A(n, this._result)
                            }
                            ,
                            t.prototype._willSettleAt = function(t, e) {
                                var r = this;
                                E(t, void 0, function(t) {
                                    return r._settledAt(rt, e, t)
                                }, function(t) {
                                    return r._settledAt(nt, e, t)
                                })
                            }
                            ,
                            t
                    }()
                        , ut = function() {
                        function t(e) {
                            this[tt] = M(),
                                this._result = this._state = void 0,
                                this._subscribers = [],
                            y !== e && ("function" != typeof e && R(),
                                this instanceof t ? k(this, e) : L())
                        }
                        return t.prototype.catch = function(t) {
                            return this.then(null, t)
                        }
                            ,
                            t.prototype.finally = function(t) {
                                var e = this
                                    , r = e.constructor;
                                return n(t) ? e.then(function(e) {
                                    return r.resolve(t()).then(function() {
                                        return e
                                    })
                                }, function(e) {
                                    return r.resolve(t()).then(function() {
                                        throw e
                                    })
                                }) : e.then(t, t)
                            }
                            ,
                            t
                    }();
                    return ut.prototype.then = p,
                        ut.all = U,
                        ut.race = C,
                        ut.resolve = d,
                        ut.reject = D,
                        ut._setScheduler = o,
                        ut._setAsap = i,
                        ut._asap = V,
                        ut.polyfill = N,
                        ut.Promise = ut,
                        ut
                })
            }
        ).call(e, r(124), function() {
            return this
        }())
    }
    , function(t, e) {
        function r() {
            throw new Error("setTimeout has not been defined")
        }
        function n() {
            throw new Error("clearTimeout has not been defined")
        }
        function o(t) {
            if (f === setTimeout)
                return setTimeout(t, 0);
            if ((f === r || !f) && setTimeout)
                return f = setTimeout,
                    setTimeout(t, 0);
            try {
                return f(t, 0)
            } catch (e) {
                try {
                    return f.call(null, t, 0)
                } catch (e) {
                    return f.call(this, t, 0)
                }
            }
        }
        function i(t) {
            if (l === clearTimeout)
                return clearTimeout(t);
            if ((l === n || !l) && clearTimeout)
                return l = clearTimeout,
                    clearTimeout(t);
            try {
                return l(t)
            } catch (e) {
                try {
                    return l.call(null, t)
                } catch (e) {
                    return l.call(this, t)
                }
            }
        }
        function s() {
            y && p && (y = !1,
                p.length ? d = p.concat(d) : v = -1,
            d.length && u())
        }
        function u() {
            if (!y) {
                var t = o(s);
                y = !0;
                for (var e = d.length; e; ) {
                    for (p = d,
                             d = []; ++v < e; )
                        p && p[v].run();
                    v = -1,
                        e = d.length
                }
                p = null,
                    y = !1,
                    i(t)
            }
        }
        function a(t, e) {
            this.fun = t,
                this.array = e
        }
        function c() {}
        var f, l, h = t.exports = {};
        !function() {
            try {
                f = "function" == typeof setTimeout ? setTimeout : r
            } catch (t) {
                f = r
            }
            try {
                l = "function" == typeof clearTimeout ? clearTimeout : n
            } catch (t) {
                l = n
            }
        }();
        var p, d = [], y = !1, v = -1;
        h.nextTick = function(t) {
            var e = new Array(arguments.length - 1);
            if (arguments.length > 1)
                for (var r = 1; r < arguments.length; r++)
                    e[r - 1] = arguments[r];
            d.push(new a(t,e)),
            1 !== d.length || y || o(u)
        }
            ,
            a.prototype.run = function() {
                this.fun.apply(null, this.array)
            }
            ,
            h.title = "browser",
            h.browser = !0,
            h.env = {},
            h.argv = [],
            h.version = "",
            h.versions = {},
            h.on = c,
            h.addListener = c,
            h.once = c,
            h.off = c,
            h.removeListener = c,
            h.removeAllListeners = c,
            h.emit = c,
            h.prependListener = c,
            h.prependOnceListener = c,
            h.listeners = function(t) {
                return []
            }
            ,
            h.binding = function(t) {
                throw new Error("process.binding is not supported")
            }
            ,
            h.cwd = function() {
                return "/"
            }
            ,
            h.chdir = function(t) {
                throw new Error("process.chdir is not supported")
            }
            ,
            h.umask = function() {
                return 0
            }
    }
]);
